package factory

import (
	"micro.user.action.server/models"
)

type UserFactory interface {
	UserRegister(user *models.VsUser) (uint64, error)
	UserLogin(userName, password string) (*models.VsUser, error)
	QueryUserInfo(userID uint64) (*models.VsUser, error)
}

type WxUserFactory interface {
	UserRegistry(user *models.VsWxUser) (uint64, error)
	QueryUserInfo(userID uint64) (*models.VsWxUser, error)
	UpdateWxUserInfo(user *models.VsWxUser) error
}

type AdminUserFactory interface {
	UserRegistry(user *models.VsHUser) (uint64, error)
	UserLogin(userName, password string) (*models.VsHUser, error)
	QueryUserInfo(userID uint64) (*models.VsHUser, error)
}
